/*******************************************************************************
PaddleController.h

	An abstract class used to create a paddle controller class contract.
*******************************************************************************/

#pragma once

#include <SFML/Window.hpp>	// For the Input class
#include "Controller.h"		// The base class for PaddleController

class PaddleController: public Controller
{
public:
	// Pure virtual Update function
	virtual void Update(const sf::Input& input) = 0;
	// Pure virtual GetMoveDirection function
	virtual int GetMoveDirection(void) = 0;
protected:
	// Indicates which direction to move
	int m_iMoveDirection;
}; // PaddleController